package com.dt.app.modules.shopping.entities;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 鸿源塔基
 * @since 2023-02-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ds_promotion")
@ApiModel(value="DsPromotion对象", description="")
public class DsPromotion implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "促销")
    @TableId(value = "ds_promotion_id", type = IdType.AUTO)
    private Long dsPromotionId;

    @ApiModelProperty(value = "系统类型")
    @TableField("promotion_type_id")
    private Integer promotionTypeId;

    @TableField("seller_headquarters_id")
    private Integer sellerHeadquartersId;

    @ApiModelProperty(value = "标题")
    @TableField("promotion_Title")
    private String promotionTitle;

    @ApiModelProperty(value = "促销描述")
    @TableField("promotion_description")
    private String promotionDescription;

    @TableField("sys_company_id")
    private Long sysCompanyId;

    @ApiModelProperty(value = "促销广告图片")
    @TableField("img_url")
    private String imgUrl;

    @ApiModelProperty(value = "促销广告图片")
    @TableField("pc_img_url")
    private String pcImgUrl;

    @ApiModelProperty(value = "开始时间")
    @TableField("start_Time")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "过期时间")
    @TableField("expire_Time")
    private LocalDateTime expireTime;

    @ApiModelProperty(value = "是否限时促销 限时时间不能超过2天")
    @TableField("is_Time_limit")
    private Integer isTimeLimit;

    @ApiModelProperty(value = "级别")
    @TableField("membership_level")
    private Integer membershipLevel;

    @ApiModelProperty(value = "促销类型 1.订单大于指定金额 2.买满[X]个同样的商品可得[Y]%off优惠 3.商品买满x元减y元，打y折 4.特价商品 5.购物送优惠券 6.免运 7.积分 8.代金券/现金券/礼券  9优惠券抢购 10代金券赠送 11优惠券赠送")
    @TableField("promotion_Type")
    private Integer promotionType;

    @ApiModelProperty(value = "折扣类型 1.%off 打折 2.$off 减钱  代金券3平台赠送 4订单促销赠送 5现金券出售")
    @TableField("discount_Type")
    private Integer discountType;

    @ApiModelProperty(value = "最小订购产品数量、最多赠送数量")
    @TableField("min_Product_Qty")
    private Integer minProductQty;

    @ApiModelProperty(value = "最小订单金额")
    @TableField("order_Subtotal_Amt")
    private BigDecimal orderSubtotalAmt;

    @ApiModelProperty(value = "积分/金额")
    @TableField("points_Per_Amt")
    private BigDecimal pointsPerAmt;

    @ApiModelProperty(value = "减金额 折扣 折后金额")
    @TableField("discount")
    private BigDecimal discount;

    @ApiModelProperty(value = "最多数量-- 优惠券抢购 代金券/礼券")
    @TableField("max_count")
    private Integer maxCount;

    @ApiModelProperty(value = "已使用数量-- 优惠券抢购 代金券 礼券")
    @TableField("use_count")
    private Integer useCount;

    @ApiModelProperty(value = "状态 1已发布 0失效 2待审核 3审核不通过 4结束")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "优先级 一个产品对应多个促销 优先级高的起作用")
    @TableField("priority")
    private Integer priority;

    @ApiModelProperty(value = "是否应用于所有 商品")
    @TableField("is_Apply_To_All")
    private Integer isApplyToAll;

    @ApiModelProperty(value = "是否折上折 1是 0否")
    @TableField("dbl_Discount")
    private Integer dblDiscount;

    @ApiModelProperty(value = "模版")
    @TableField("template_Path")
    private String templatePath;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_Time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人用户id")
    @TableField("create_id")
    private Integer createId;

    @ApiModelProperty(value = "商家id  如果=0 该促销适用于整个网店")
    @TableField("sellers_id")
    private Integer sellersId;

    @ApiModelProperty(value = "商家名称")
    @TableField("seller_name")
    private String sellerName;

    @ApiModelProperty(value = "促销所在的主营栏目")
    @TableField("category_Path")
    private String categoryPath;

    @ApiModelProperty(value = "区域全路径")
    @TableField("region_path")
    private String regionPath;

    @ApiModelProperty(value = "1删除 0未删除")
    @TableField("deleted")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "区域id")
    @TableField("region_Id")
    private Integer regionId;

    @ApiModelProperty(value = "经度")
    @TableField("longitude")
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    @TableField("latitude")
    private BigDecimal latitude;

    @ApiModelProperty(value = "排序 降序")
    @TableField("seq")
    private Integer seq;


}
